
module JJOO (JJOO, nuevoJ, anioJ, atletasJ, cantDiasJ  , cronogramaJ 
{- ,jornadaActualJ, dePaseoJ, medalleroJ,boicotPorDisciplinaJ, losMasFracasadosJ, liuSongJ,stevenBradburyJ, uyOrdenadoAsiHayUnPatronJ, sequiaOlimpicaJ,transcurrirDiaJ-} 

)
where
import Tipos
import Atleta
import Competencia
data JJOO = J Int [Atleta] Int | NuevoDia [Competencia] JJOO deriving (Show)



{-

competencias = [ competencias1 , competencias2 , competencias3 ]

competencias1 = [ nuevaC ("Deporte1",Masculino) [
			(nuevoA "Atleta1" Masculino 1989 "Pais1" 99899 [("Deporte1",76),("Deporte3",43),("Deporte2",100)]), 
			(nuevoA "Atleta4" Femenino 1975 "Pais4" 15250 [("Deporte4",40),("Deporte1",78)]) ] , 
		nuevaC ("Deporte2",Masculino) [
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)]), 
			(nuevoA "Atleta1" Femenino 1975 "Vanuatu" 15250 [("Deporte2",40),("Deporte4",78)]) ] ,  
		nuevaC ("Deporte3",Masculino) [
			(nuevoA "Atleta3" Masculino 1989 "Pais3" 99899 [("Deporte3",76),("Deporte2",43),("Deporte4",100)]), 
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)]) ], 
		nuevaC ("Deporte4",Masculino) [
			(nuevoA "Atleta4" Femenino 1975 "Pais4" 15250 [("Deporte4",40),("Deporte1",78)]), 
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)])] 
		]


competencias2 = [ nuevaC ("Deporte1",Masculino) [
			(nuevoA "Atleta1" Masculino 1989 "Pais1" 99899 [("Deporte1",76),("Deporte3",43),("Deporte2",100)]), 
			(nuevoA "Atleta4" Femenino 1975 "Pais4" 15250 [("Deporte4",40),("Deporte1",78)]) ] , 
		nuevaC ("Deporte2",Masculino) [
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)]), 
			(nuevoA "Atleta1" Femenino 1975 "Vanuatu" 15250 [("Deporte2",40),("Deporte4",78)]) ] ,  
		nuevaC ("Deporte3",Masculino) [
			(nuevoA "Atleta3" Masculino 1989 "Pais3" 99899 [("Deporte3",76),("Deporte2",43),("Deporte4",100)]), 
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)]) ], 
		nuevaC ("Deporte4",Masculino) [
			(nuevoA "Atleta4" Femenino 1975 "Pais4" 15250 [("Deporte4",40),("Deporte1",78)]), 
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)])] 
		]


competencias3 = [ nuevaC ("Deporte1",Masculino) [
			(nuevoA "Atleta1" Masculino 1989 "Pais1" 99899 [("Deporte1",76),("Deporte3",43),("Deporte2",100)]), 
			(nuevoA "Atleta4" Femenino 1975 "Pais4" 15250 [("Deporte4",40),("Deporte1",78)]) ] , 
		nuevaC ("Deporte2",Masculino) [
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)]), 
			(nuevoA "Atleta1" Femenino 1975 "Vanuatu" 15250 [("Deporte2",40),("Deporte4",78)]) ] ,  
		nuevaC ("Deporte3",Masculino) [
			(nuevoA "Atleta3" Masculino 1989 "Pais3" 99899 [("Deporte3",76),("Deporte2",43),("Deporte4",100)]), 
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)]) ], 
		nuevaC ("Deporte4",Masculino) [
			(nuevoA "Atleta4" Femenino 1975 "Pais4" 15250 [("Deporte4",40),("Deporte1",78)]), 
			(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)])] 
		]


atletas = [ 	(nuevoA "Atleta1" Masculino 1989 "Pais1" 99899 [("Deporte1",76),("Deporte3",43),("Deporte2",100)]) , 
		(nuevoA "Atleta2" Masculino 1989 "Pais2" 99899 [("Deporte2",76),("Deporte1",43),("Deporte3",100)]) ,
		(nuevoA "Atleta3" Masculino 1989 "Pais3" 99899 [("Deporte3",76),("Deporte2",43),("Deporte4",100)]), 
		(nuevoA "Atleta4" Femenino 1975 "Pais4" 15250 [("Deporte4",40),("Deporte1",78)]) ]
		

-}

nuevoJ::Int->[Atleta]->[[Competencia]]->JJOO
nuevoJ anio ats compss = nuevoJAux anio ats compss 1

nuevoJAux::Int->[Atleta]->[[Competencia]]->Int->JJOO
nuevoJAux anio ats [cs] diaActual = NuevoDia cs (J anio ats diaActual )
nuevoJAux anio ats (cs:compss) diaActual = NuevoDia cs (nuevoJAux anio ats compss (diaActual + 1))

anioJ::JJOO->Int
anioJ (J y _ _) = y

atletasJ::JJOO->[Atleta]
atletasJ (J _ ats _ ) = ats

cantDiasJ::JJOO->Int
cantDiasJ (J _ _ c) = c


cronogramaJ::JJOO->Int->[Competencia]
cronograma 


